home *** CD-ROM | disk | FTP | other *** search
- Overview of Cyber (NOS) Kermit.
-
- Programmer A. V. Le Blanc
- Language COMPASS 3.6-587
- Documentation A. V. Le Blanc
- Date March 1986
- Operating System NOS 2.2 at PSR level 596
- Field length 2,922 (decimal) words, including I/O buffers and
- system text
-
- Cyber Kermit capabilities at a glance:
-
- Remote operation Yes
- Local operation No
- Transfer text files Yes
- Transfer binary files Yes
- Wildcard send No
- File transfer interruption Yes
- Filename collisions avoided Yes
- Can time out No
- 8th bit prefixing Yes (required for binary transfers)
- Repeat count prefixing Yes
- Alternate block checks No
- Long packets No
- Terminal emulation No
- Communication settings Yes (where practical)
- Transaction logging Yes
- Debug logging Yes
- Packet logging Yes
- Acts as a server Yes
- Advanced server functions Some
- Local file management No
- Command/Init files Yes (coded format)
- File attribute packets No
- Command macros No
-
- Note: The value of parity must be selected at compile time. Only
- one-character checksums are supported. Because of the diffi-
- culty of appropriate error recovery, Cyber Kermit does not
- allow Remote Host commands; however, packets of this type are
- accepted and used for remote status inquiry and for the remote
- selection of file types. A further departure from Kermit's
- 'official' definition is that the error count is reset to zero
- after each packet rather than after each file.
-
-
-
- Files.
-
- In addition to the present file, I am supplying three files:
-
- (1) The source code (in COMPASS).
-
- (2) A CCL procedure which creates the structured help file required
- by the program.
-
- (3) Our Manchester user manual in line printer format (column 1 con-
- trol characters, but no underscores, italics, or bold print).
-
-
- All files except the source code are ASCII 6/12 files; if you receive
- the source in ASCII and convert it to 6-bit display code using
-
- $FCOPY,P=asciisource,N=sixbitsource,PC=ASCII,NC=DIS,R.
-
- the source will be ready to generate conditional code appropriate to
- 64-character or 63-character sites. Before compiling the program you
- must select one of the available parities, the one which accords best
- with the default parity selected at your site. At this time you may
- alter the following assembly constants by editing the following EQU
- statements which occur near the start of the source code:
-
- PARIT EQU 2 parity: 0 = zero, 1 = odd, 2 = even
- TBUFL EQU 301B buffer length for terminal files
- WBUFL EQU 501B buffer length for mass storage files
- LBUFL EQU 301B buffer length for log file
- DEFPLEN EQU 94 default packet length to request
- DEFESCA EQU 3 default (ASCII code) local escape char
- DEFTIME EQU 20 default timeout to request in seconds
- DEFRETR EQU 5 default retries allowed per packet
-
- The mass storage buffer WBUFL may be increased slightly if you wish,
- but the buffers are rather small to reduce the time needed to get the
- program back into memory when it is swapped out. The constant called
- ILLEGIT limits the values to which the local escape character and the
- packet marker may be set; instructions for changing these values can
- be found in the preceding comment.
-
- If your site has access to the system OPL, attach it under the name
- OPL and give the command
-
- $COMPASS,I=sixbitsource,B=KERMBIN,L=KERLIST.
-
- If your site does not have access to the system OPL, delete the six
- XTEXT lines (two at the start and four at the end of the source), re-
- place the first line with the line
-
- IDENT KERMIT
-
- and delete the line 'ABS'. Then you can compile a relocatable binary
- with the command
-
- $COMPASS,I=sixbitsource,B=KERMBIN,L=KERLIST,S=NOSTEXT,S=PSSTEXT.
-
- and produce an absolute binary with LOAD command and the NOGO option.
- On our system the binary (45 PRU's in length) is stored as KERMBIN in
- the user name LIBRARY. If the source is named KERMITC, the following
- procedure will extract its internal or external documentation:
-
-
- .PROC,KERDOCS*I,
- TYP[Type of documentation]=(INT,EXT),
- FLN[File name]=(*F,*N=KERDOC).
- $RETURN(FLN,ZZZDOC)
- .IF,FILE(KERMITC,.NOT.LO),GETIT.
- $GET(KERMITC)
- .ENDIF,GETIT.
- $DOCMENT(I=ZZZZPRD,S=KERMITC,L=ZZZDOC,T=TYP)
- $REVERT(NOLIST)
- .DATA,ZZZZPRD.
- KERMIT -- FILE TRANSFER UTILITY
-
-
-
-
- Cyber Kermit will not run unless there is a local file named ZZZKHLP.
- This multi-record file contains long help messages. Since it is dif-
- ficult to transfer structured files on non-CDC equipment, I have pre-
- pared a simple-minded CCL procedure which contains the text of this
- file and writes appropriate ends-of-record when executed. If needed,
- changes should be made to this file before executing the procedure.
- Changes will probably be unnecessary if no assembly constants except
- parity are changed. Those help messages which can be sent to a micro
- when Cyber Kermit is in server mode are 38 columns wide; others are
- 61 columns wide. In our system the help file is stored as KERHELP in
- the user name LIBRARY. The help file contains the following informa-
- tion specific to the Manchester implementation: default constants are
- 94 (packet length), CTRL-C (escape character), 20 (requested timeout
- interval), and 5 (retries per packet); the Manchester commands DSAVE
- and DEPLACE are mentioned; the escape character and the sync marker
- may not be set to CONTROL with any of the following letters: H, J, M,
- P, Q, S, T, or X.
-
- The User Manual may be rather less useful since it contains much that
- is peculiar to our system in Manchester. The manual does not mention
- the possibility of saving SET options in a file. Simply SET whatever
- variables you wish and stop execution with the PUSH command. ZZZKDAT
- is the local file which contains (in coded form) the options you have
- selected. Simply SAVE this (using another name if you wish) and then
- GET it before starting the program.
-
- Cyber Kermit writes a log file whenever it runs. Since this log file
- is a structured 6-12 file, one can list all or part of it. In Man-
- chester this is done by the Kermit CCL procedure on a system library.
- This procedure appears as follows when various site-specific elements
- are removed:
-
-
-
- .PROC,KERMIT*I
- ,ACT[Action]=(ALL,LOG,*N=RUN,LOCAL,*S3(ABCDEFGHIJKLMNOPQRSTUVWXYZ)).
- .HELP,,NOLIST
- Procedure KERMIT is designed to help you run Kermit and view your
- Kermit logfile. It will also print your Kermit logfile.
-
- Format: KERMIT Run the Kermit file transfer program.
- KERMIT,LOG List the last part of your Kermit logfile.
- KERMIT,ALL List all of your Kermit logfile.
- KERMIT,printer Print your Kermit logfile on the specified
- printer; for example, type KERMIT,MBS to
- print your logfile on the MBS printer.
- .ENDHELP
- .IF,$ACT$=$RUN$,WHATNOW.
- .IF,FILE(ZZZZKER,PM).AND.FILE(ZZZKHLP,PM),ITSHERE.
- .EX. ZZZZKER.
- .ELSE,ITSHERE.
- $ATTACH,ZZZZKER=KERMBIN,ZZZKHLP=KERHELP/UN=LIBRARY,PN=0.
- $SETFS,ZZZZKER,ZZZKHLP/FS=NAD.
- $REVERT,EX. ZZZZKER.
- .ENDIF,ITSHERE.
- .ELSE,WHATNOW.
- .IF,FILE(ZZZKLOG,MS),WHATNOW.
- .IF,$ACT$=$LOG$,WHATA.
- $CSET,ASCII.
- $SKIPEI,ZZZKLOG.
- $BKSP,ZZZKLOG,1.
- $COPYBR,ZZZKLOG.
- .ELSE,WHATA.
- .IF,$ACT$=$ALL$,WHATA.
- $CSET,ASCII.
- $REWIND,ZZZKLOG.
- $COPYBF,ZZZKLOG.
- .ELSE,WHATA.
- $RETURN,ZZZZJOB.
- $REWIND,ZZZKLOG.
- $FCOPY,P=ZZZKLOG,N=ZZZZJOB,PC=ASCII,NC=ASCII8.
- $ROUTE,ZZZKLOG,DC=PR,UN=ACT,EC=A9,UJN=ZZZKLOG.
- .ENDIF,WHATA.
- $REVERT(NOLIST)
- .ELSE,WHATNOW.
- $REVERT,ABORT. LOG FILE ZZZKLOG IS MISSING.
- .ENDIF,WHATNOW.
-